package com.lagou.task20;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class PersonMethondTest {
    public static void main(String[] args) throws Exception {
//        1.使用反射机制获取class对象
        Class aClass = Class.forName("com.lagou.task20.Person");
//        2。更具class对象获取有参数构造函数
        Constructor constructor = aClass.getConstructor(String.class, int.class);
//        3。根据有参数构造函数构造对象
        Object titant = constructor.newInstance("titant", 88);
//        4。使用class对象获取对应的成员方法
        Method method = aClass.getMethod("getName");
        Method[] methods = aClass.getMethods();
//        5。使用对象调用成员方法进行打印
        System.out.println("名字为："+method.invoke(titant));;
        for (Method me  : methods){
            System.out.println("方法名：" + me.getName());
            System.out.println("返回值：" + me.getReturnType());
        }
    }
}
